GetConstrainedObjects

導入

v3.0

カテゴリ

constraint

詳細

X3DObject に拘束されるすべてのオブジェクトを検索します。

注: このコマンドは、出力引数を使用します。 C# および一部のスクリプト言語(JScript、PerlScript、Python など)は、リファレンスによって渡される引数をサポートしていません。このため、状況に応じた適切な回避策を実行する必要があります。

スクリプト言語の場合、このコマンドは出力引数を取得するために使用できる ISIVTCollection を戻します。

C# の場合は、XSIApplication.ExecuteCommand メソッドを使用してこのコマンドを呼び出すことができます。 ExecuteCommand は、出力引数を C# の System.Object (出力引数の配列を含む)にパック化します(詳細については、「C# からのコマンドの呼び出し」を参照)。

スクリプト構文

GetConstrainedObjects( InputObj, OutputObjs );

パラメータ

パラメータ タイプ 詳細
InputObj 文字列または X3DObject 他のオブジェクトを拘束しているオブジェクト。
OutputObjs XSICollection 拘束されているオブジェクトのリストを戻します。

1. VBScript の例

'
'       This example demonstrates the GetConstrainedObjects command
'
NewScene , false
Create2DSkeleton 0, -0.2, 3.0, 0, 2, 0.2, 0, 90, 0, 4
Create2DSkeleton 0, -1, 2.0, 0, 4, 0.1, 0, 90, 0, 4
CreatePrim "Cube", "MeshSurface"
' Constrain two bones to the cube
ApplyCns "Position", "eff", "cube"
ApplyCns "Position", "eff1", "cube"
dim objCollection
call GetConstrainedObjects (Selection(0), objCollection)
logmessage "There are " & objCollection.Count & _
        " objects constrained to " & Selection(0)
logmessage "The first constrained object is " & objCollection.Item(0)
logmessage "The second constrained object is " & objCollection.Item(1)
' Expected results:
'INFO : There are 2 objects constrained to cube
'INFO : The first constrained object is eff1
'INFO : The second constrained object is eff

2. JScript の例

/*
        This example demonstrates the GetConstrainedObjects command
*/
NewScene( null, false ) ;
Create2DSkeleton( 0, -0.2, 3.0, 0, 2, 0.2, 0, 90, 0, 4 );
Create2DSkeleton( 0, -1, 2.0, 0, 4, 0.1, 0, 90, 0, 4 ) ;
CreatePrim( "Cube", "MeshSurface" ) ;
// Constrain both skeletons to the cube
ApplyCns( "Position", "eff", "cube" ) ;
ApplyCns( "Position", "eff1", "cube" ) ;
// JScript doesn't support output arguments but the 
// information is also available as a return value
var aRetArgs = GetConstrainedObjects(Selection(0) );
// There is only one output argument so it is
// first in the returned collection
var objCollection = aRetArgs(0) ;
logmessage( "There are " + objCollection.Count +
        " objects constrained to " + Selection(0) ) ;
logmessage( "The first constrained object is " + objCollection.Item(0) ) ;
logmessage( "The second constrained object is " + objCollection.Item(1) ) ;
//Expected results:
//INFO : There are 2 objects constrained to cube
//INFO : The first constrained object is eff1
//INFO : The second constrained object is eff

関連項目

コンストレイント Kinematics.Constraints ApplyCns SelectConstrainingObjects